//package main.java.main.util;
//
//import main.java.main.util.unitObj.AutowiredObj;
//import main.java.main.util.unitObj.ClassObj;
//import main.java.main.util.unitObj.MethodObj;
//
//import java.io.BufferedReader;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.InputStreamReader;
//import java.util.ArrayList;
//import java.util.List;
//
//
//public class FileUtil {
//	static StringBuffer sb = new StringBuffer();
//	ClassObj classObj = new ClassObj();
//
//	public void readStr(File file,String dirStr){
//		try {
////		String fileName = file.getName();
//		FileInputStream fis = new FileInputStream(file.getAbsolutePath());
//
//		InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
//
//		BufferedReader br = new BufferedReader(isr);
//
////		ArrayList<HashMap<String, String>> strArray = new ArrayList<HashMap<String,String>>();
////		ArrayList<String> method = new ArrayList<String>();
//		String line = null;
//		boolean connectionFlag = false;
//		boolean autowiredFlag = false;
//
//		List<MethodObj> methodObjList = new ArrayList<MethodObj>();
//		List<AutowiredObj> autowiredObjList = new ArrayList<AutowiredObj>();
//		List<String> packageArray = new ArrayList<String>();
//		classObj.methodList = methodObjList;
//		classObj.autowiredObjList = autowiredObjList;
//		classObj.packageArray = packageArray;
////		String class1 = null;
////		String classImpl = null;
//		String connectionStr = "";
////		String public1 = "";
////		String returnType = "";
////		String lastStr = "";
//		String nextStatus = "00";
//		while((line = br.readLine())!=null){
//
//			if(line.trim().matches(".*public.*") && line.trim().indexOf(";") < 0 && "99".equals(nextStatus)){
//				nextStatus = "01";
//			}
//
//			String curStatus = nextStatus;
//			if(line.trim().startsWith("//")){
//				continue;
//			}
//			switch(curStatus){
//			case "00":
//				String s1 = "";
//
////				import com.flux.wmsv5.a05sysbiz.a0507.impl.dao.WarehouseInfoDao;
//				if(line.trim().matches(".*import.*com.flux.wmsv5.*;.*")){
//					packageArray.add(line);
//				}
//
//				if(line.trim().matches(".*package.*com.flux.wmsv5.*;.*")){
//					classObj.packageObj = line.trim();
//				}
//				if(line.trim().matches(".*public.*class.*")){
//					String strArr = line.trim();
//					for(int i = 0;i<strArr.length();i++){
//						char str = strArr.charAt(i);
//						String s = String.valueOf(str); //效率最高的方法
//						if(s.matches("[a-zA-Z0-9]")){
//							s1 += s;
//						}else{
//							if(!"public".equals(s1) && !"class".equals(s1)){
//								classObj.className = s1;
//								s1 = "";
//								if(classObj.className.endsWith("Dao")){
//									nextStatus = "01";
//								}else if(classObj.className.endsWith("Service")){
//									nextStatus = "99";
//								}else if(classObj.className.endsWith("Ctrl")){
//									nextStatus = "99";
//								}
//
//								break;
//							}
//							s1 = "";
//						}
//					}
//				}
//				break;
//			case "01":
//				if(connectionFlag){
//					connectionStr += " "+line.trim();
//					if(connectionStr.trim().matches(".*public.*\\(.*\\).*\\{.*")){
//						connectionFlag = false;
//						MethodObj methodObj = new MethodObj();
//						dealMethod(connectionStr,methodObj);
//						methodObjList.add(methodObj);
//						System.out.println(connectionStr);
//					}
//				}
//				if(line.trim().matches(".*public.*\\(.*") && line.trim().indexOf(";") < 0){
//					connectionStr = line.trim();
//					connectionFlag = true;
//					if(connectionStr.trim().matches(".*public.*\\(.*\\).*\\{.*")){
//						connectionFlag = false;
//						MethodObj methodObj = new MethodObj();
//						dealMethod(connectionStr,methodObj);
//						methodObjList.add(methodObj);
////						System.out.println(connectionStr);
//					}
//				}
//
//				if(classObj.className.endsWith("Service")){
////					return WarehouseInfoDao.getWarehouseInfo(loginInfoObj, bizDataMap);
//					if(line.trim().matches(".*return.*\\(.*\\).*;.*")){
//						String strArr = line.trim();
//						String s2 = "";
//						for(int i = 0;i<strArr.length();i++){
//							char str = strArr.charAt(i);
//							String s = String.valueOf(str); //效率最高的方法
//							if(s.matches("[a-zA-Z0-9]")){
//								s2 += s;
//							}else{
//								if(".".equals(s)){
//									methodObjList.get(methodObjList.size()-1).contentClassName = s2;
//								}else if("(".equals(s)){
//									methodObjList.get(methodObjList.size()-1).contentMethodName = s2;
//									break;
//								}
//								s2 = "";
//							}
//						}
//					}
//				}
//
////				lastStr = line;
//				break;
//			case "99":
//				if(autowiredFlag){
//					AutowiredObj autowiredObj = new AutowiredObj();
//					autowiredObj.entityClass = line.trim().split("\\s|;")[1];
//					autowiredObj.entityClassName = line.trim().split("\\s|;")[2];
//					autowiredObjList.add(autowiredObj);
//					autowiredFlag = false;
//				}
//				if(line.trim().indexOf("@Autowired") >= 0){
//					autowiredFlag = true;
//				}
////				lastStr = line;
//				break;
//			default:
//
//			}
//
//		}
//		br.close();
//
//
////=======================================================
//
//		} catch (Exception e) {
//			e.printStackTrace();
//			System.out.println("更新错误，文件：" + file.getName() +" 路径："+file.getAbsolutePath());
//		}
//
//	}
//
//
//	public static void dealMethod(String strArr,MethodObj test){
//		List<ReturnObj> paraObjList = new ArrayList<ReturnObj>();
//		ReturnObj returnParaObj= new ReturnObj();
//		boolean paraObj = true;
//
//		ReturnObj returnObj= new ReturnObj();
//		test.returnObj = returnObj;
//		test.paraObjList = paraObjList;
//		int lockNum = 0;
////		String lastS1 = "";
//		String s1 = "";
//		String nextStatus2 = "00";
////		String public1 = "";
//		for(int i = 0;i<strArr.length();i++){
//			char str = strArr.charAt(i);
//			String s = String.valueOf(str); //效率最高的方法
//			String curStatus2 = nextStatus2;
//			switch (curStatus2) {
//					case "00":
//						if(s.matches("[a-zA-Z]")){
//							s1 += s;
//						}else{
//							if("public".equals(s1)){
////								public1 = "public";
//								s1 = "";
//								nextStatus2 = "01";
//								test.modified = "public";
//							}
//						}
//						break;
//					case "01"://public
//						if(s.matches("[a-zA-Z]")){
//							s1 += s;
//						}else{
////							lastS1 = s1;
////							System.out.println(s1);
//							if("<".equals(s) || "[".equals(s)){
//								lockNum = lockNum + 1;
//								if("[".equals(s)){
//									test.returnObj.ifArray = true;
//								}
//							}else if(">".equals(s) || "]".equals(s)){
//								lockNum = lockNum - 1;
//							}
//
//							if("Map".equals(s1)){
//								MapObj mapObj= new MapObj();
//								if("List".equals(test.returnObj.objType)){
//									test.returnObj.listObj.objType = "Map";
//									test.returnObj.listObj.mapObj = mapObj;
//								}else{
//									test.returnObj.objType = "Map";
//									test.returnObj.mapObj = mapObj;
//								}
//								s1 = "";
//							}else if("List".equals(s1)){
//								ListObj listObj= new ListObj();
//								test.returnObj.objType = "List";
//								test.returnObj.listObj = listObj;
//								s1 = "";
//							}else if(",".equals(s)){
//								if("Map".equals(test.returnObj.objType)){
//									test.returnObj.mapObj.keyStr = s1;
//									s1 = "";
//								}else if("List".equals(test.returnObj.objType)){
//									test.returnObj.listObj.mapObj.keyStr = s1;
//									s1 = "";
//								}
//							}else if(">".equals(s)){
//								if("Map".equals(test.returnObj.objType)){
//									test.returnObj.mapObj.valueStr = s1;
//									s1 = "";
//								}else if("List".equals(test.returnObj.objType)){
//									test.returnObj.listObj.mapObj.valueStr = s1;
//									s1 = "";
//								}
//							}else{
//								if(Util.isNotNull(s1)){
//									test.returnObj.objType = s1;
//									if("[".equals(s)){
//										test.returnObj.ifArray = true;
//									}
//								}
//								s1 = "";
//							}
//							if(lockNum == 0){
//								nextStatus2 = "02";
//							}
//						}
//						break;
//					case "02":
//						if(s.matches("[a-zA-Z0-9_]")){//方法名，支持_
//							s1 += s;
//						}else{
//							if(Util.isNotNull(s1)){
//								test.methodNameObj = s1;
//								s1 = "";
//								nextStatus2 = "03";
//							}
//						}
//						break;
//					case "03":
//
//						if(paraObj){
//							if(s.matches("[a-zA-Z0-9]")){
//								s1 += s;
//							}else{
////								lastS1 = s1;
////								System.out.println(s1);
//								if("<".equals(s) || "[".equals(s)){
//									lockNum = lockNum + 1;
//								}else if(">".equals(s) || "]".equals(s)){
//									lockNum = lockNum - 1;
//								}
//
//								if("Map".equals(s1)){
//									MapObj mapObj= new MapObj();
//									if("List".equals(returnParaObj.objType)){
//										returnParaObj.listObj.objType = "Map";
//										returnParaObj.listObj.mapObj = mapObj;
//									}else{
//										returnParaObj.objType = "Map";
//										returnParaObj.mapObj = mapObj;
//									}
//									s1 = "";
//								}else if("List".equals(s1)){
//									ListObj listObj= new ListObj();
//									returnParaObj.objType = "List";
//									returnParaObj.listObj = listObj;
//									s1 = "";
//								}else if(",".equals(s)){
//									if("Map".equals(returnParaObj.objType)){
//										returnParaObj.mapObj.keyStr = s1;
//										s1 = "";
//									}else if("List".equals(returnParaObj.objType)){
//										returnParaObj.listObj.mapObj.keyStr = s1;
//										s1 = "";
//									}
//								}else if(">".equals(s)){
//									if("Map".equals(returnParaObj.objType)){
//										returnParaObj.mapObj.valueStr = s1;
//										s1 = "";
//									}else if("List".equals(returnParaObj.objType)){
//										if(Util.isNotNull(s1)){
//											returnParaObj.listObj.mapObj.valueStr = s1;
//										}
//										s1 = "";
//									}
//								}else{
//									if(Util.isNotNull(s1)){
//										returnParaObj.objType = s1;
//										if("[".equals(s)){
//											returnParaObj.ifArray = true;
//										}
//									}
//									s1 = "";
//								}
//								if(lockNum == 0 && Util.isNotNull(returnParaObj.objType)){
//									paraObj = false;
//								}
//							}
//						}else{
//							if(s.matches("[a-zA-Z0-9_]")){
//								s1 += s;
//							}else{
//								if(Util.isNotNull(s1)){
//									returnParaObj.paraObj = s1;
//									paraObjList.add(returnParaObj);
//									returnParaObj= new ReturnObj();
//									paraObj = true;
//									s1 = "";
//								}
//							}
//						}
//						if(s.endsWith(")")){
//							nextStatus2 = "04";
//						}
//						break;
//					case "04":
//						if(s.matches("[a-zA-Z0-9]")){
//							s1 += s;
//						}else{
//							if(Util.isNotNull(s1)){
//								test.exceptionObj = s1;
//								s1 = "";
//								nextStatus2 = "05";
//							}
//						}
//						break;
//					case "05":
//						if(s.matches("[a-zA-Z0-9]")){
//							s1 += s;
//						}else{
//							if(Util.isNotNull(s1)){
//								test.exceptionObj = s1;
//								s1 = "";
//								nextStatus2 = "05";
//							}
//						}
//						break;
//					default:
//			}
//
//
//		}
//    }
//}
//
